Presto তে Set Operations হলো SQL কুয়েরিতে ব্যবহৃত অপারেশন, যা দুটি বা তার বেশি সিলেক্ট অ্যাকশনের মধ্যে সেট থিওরি ব্যবহার করে ডেটার মিল বা পার্থক্য নির্ধারণ করে। প্রধান তিনটি সেট অপারেশন হলো UNION, INTERSECT, এবং EXCEPT। প্রতিটি অপারেশন নির্দিষ্ট ধরনের ডেটা সংযুক্তি বা পার্থক্য প্রদর্শন করে।
UNION অপারেশন দুটি বা তার বেশি SQL কুয়েরির ফলাফলকে একত্রিত করে এবং ফলস্বরূপ ইউনিক (distinct) রেকর্ড প্রদান করে। যদি দুইটি সিলেক্ট স্টেটমেন্টের মধ্যে একাধিক সারি সমান হয়, তাহলে ঐ সারি কেবল একবার প্রদর্শিত হবে (distinct)।
SELECT column1, column2
FROM table1
UNION
SELECT column1, column2
FROM table2;
SELECT employee_id, employee_name
FROM employees_2023
UNION
SELECT employee_id, employee_name
FROM employees_2024;
এই কুয়েরিটি employees_2023 এবং employees_2024 টেবিল থেকে ইউনিক employee_id এবং employee_name ফেরত দেবে। যেগুলি যেকোনো ধরনের ডুপ্লিকেট ফলস্বরূপ থাকলে সেগুলি বাদ দেওয়া হবে।
UNION ALL অপারেশন UNION এর মতোই, তবে এটি ডুপ্লিকেট রেকর্ডকেও অন্তর্ভুক্ত করে, অর্থাৎ দুটি বা তার বেশি সিলেক্ট স্টেটমেন্টের ফলাফল একত্রিত হবে, এবং কোনও ডুপ্লিকেট রেকর্ড বাদ দেওয়া হবে না।
SELECT column1, column2
FROM table1
UNION ALL
SELECT column1, column2
FROM table2;
SELECT employee_id, employee_name
FROM employees_2023
UNION ALL
SELECT employee_id, employee_name
FROM employees_2024;
এই কুয়েরিটি employees_2023 এবং employees_2024 টেবিলের সমস্ত রেকর্ড (ডুপ্লিকেট সহ) একত্রিত করবে।
INTERSECT অপারেশন দুটি বা তার বেশি SQL কুয়েরির মধ্যে কমন রেকর্ড বা মিল খুঁজে বের করে। অর্থাৎ, এটি কেবলমাত্র সেই রেকর্ডগুলো ফেরত দেয় যা সমস্ত সিলেক্ট স্টেটমেন্টে উপস্থিত থাকে।
SELECT column1, column2
FROM table1
INTERSECT
SELECT column1, column2
FROM table2;
SELECT employee_id, employee_name
FROM employees_2023
INTERSECT
SELECT employee_id, employee_name
FROM employees_2024;
এই কুয়েরিটি শুধুমাত্র সেই employee_id এবং employee_name রেকর্ডগুলি ফেরত দেবে যা employees_2023 এবং employees_2024 উভয় টেবিলে উপস্থিত রয়েছে।
EXCEPT অপারেশন দুটি কুয়েরির মধ্যে পার্থক্য খুঁজে বের করে, অর্থাৎ এটি প্রথম কুয়েরির সমস্ত রেকর্ড ফেরত দেয় যেগুলি দ্বিতীয় কুয়েরিতে উপস্থিত নেই। এটি MINUS হিসেবেও পরিচিত।
SELECT column1, column2
FROM table1
EXCEPT
SELECT column1, column2
FROM table2;
SELECT employee_id, employee_name
FROM employees_2023
EXCEPT
SELECT employee_id, employee_name
FROM employees_2024;
এই কুয়েরিটি শুধুমাত্র সেই employee_id এবং employee_name রেকর্ডগুলো ফেরত দেবে যা employees_2023 টেবিলে আছে কিন্তু employees_2024 টেবিলে নেই।
এই Set Operations গুলি SQL কোয়েরির মধ্যে ডেটা সংযোগ, পার্থক্য, এবং মিল খুঁজে বের করার জন্য শক্তিশালী টুল হিসেবে ব্যবহৃত হয়।
Read more